iT邦幫忙

2026 iThome 鐵人賽

DAY 27
0
佛心分享-IT 人自學之術

當 Python 初學者遇到 AI:30 天人機協作學習手記系列 第 27 篇

[Day 27] 自動化微專案實戰 (四):讓程式主動聯絡你!結合 LINE Notify 把每日新聞直接傳到手機

  • 分享至 

  • xImage
  •  

今日對話:如何讓 Python 發送 LINE 訊息?

我的 Prompt(提示詞):

「我想要讓我的 Python 程式執行完畢後,自動發送一則訊息到我的 LINE 裡面通知我。聽說可以用 LINE Notify 做到?請教我如何取得發送訊息的權限,並示範如何用 Python 把文字訊息傳送出去。」

AI 導師的建議與拆解

AI 導師給了一份非常清楚的「發送訊息三步曲」:

第一步:取得「通行證 (Token)」
要讓程式傳訊息給你,總得先向 LINE 證明「是我本人允許的」。
(你可以到 LINE Notify 官方網站登入,點擊「發行權杖」,選擇要傳送訊息的聊天室「例如:1對1聊天接收通知」,接著就會獲得一串亂碼,這就是你的專屬 Token,請複製保存好!)

第二步:認識 HTTP POST(把資料「推」出去)
前幾天我們用requests.get() 來「拿取」網頁資料;今天我們要傳訊息給 LINE,必須把資料「推」給它的伺服器,所以我們要改用 requests.post()。

第三步:準備包裹與封條

Headers(封條/識別證):在這裡面放進你的 Token,證明你有權限。
Data(包裹內容):把你想說的話(message)包裝成字典格式。

實作筆記與驗證

我在 VS Code 建立了 day27.py檔案。為了讓程式碼更好重複使用,我把發送 LINE 訊息的功能寫成了一個專屬的「函數 (Function)」:

python
import requests

#1. 建立一個專門負責發 LINE 的函數
def send_line_notify(notification_message):
# 填入你剛剛申請到的 Token (請當作密碼保管,不要外洩)
line_token = "你的_LINE_NOTIFY_TOKEN_貼在這裡"

#LINE Notify 的收件地址 (API 網址)
url = "https://notify-api.line.me/api/notify"

#準備識別證 (Authorization: Bearer 是一種常見的授權格式)
headers = {
"Authorization": f"Bearer {line_token}"
}

#準備你想說的話
payload = {
"message": notification_message
}

#2. 結合防護網,把資料用 POST 丟出去
try:
response = requests.post(url, headers=headers, data=payload)
response.raise_for_status() # 檢查有沒有被 LINE 拒絕
print("✅ 成功發送 LINE 訊息到你的手機啦!")
except Exception as e:
print(f"❌ 發送失敗,錯誤原因:{e}")

#==========================================
#3. 測試執行!(想像這是爬蟲剛跑完的瞬間)
print("🤖 模擬爬蟲執行完畢...")

#整理一段要發送的文字
msg = "\n早安!今天的科技新聞已經幫您爬取完畢!\n總共為您收集了 30 篇文章,請開啟電腦查看 CSV 檔案。 ☕"

#呼叫我們寫好的函數
send_line_notify(msg)

今日小結

利用短短四天的時間,完成串接 API / 爬蟲抓資料 ➡️ Pandas 產報表 ➡️ Schedule 自動排程 ➡️ LINE 主動通知的超強自動化程式,非常有成就感。


上一篇
[Day 26] 自動化微專案實戰 (三):讓程式自己動起來!使用 schedule 套件打造定時排程
下一篇
[Day 28] 自動化微專案實戰 (五):讓程式 24 小時不打烊!新手也能懂的雲端部署入門 (PythonAnywhere)
系列文
當 Python 初學者遇到 AI:30 天人機協作學習手記 共 30 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言